Memory devices in integrated circuit (IC) chips are typically provided as internal storage units in a computing or communication device. In general, memory devices contain an array of memory cells arranged in rows and columns for storing data, and row and column decoder circuits coupled to the array of memory cells for accessing the array of memory cells in response to an external address. Each column of memory cells in the memory devices can be coupled to one or more I/O bit lines each for read/write of data from a memory cell designated by the external address.
Two types of memories used in computing or communication devices are random-access memory (RAM), such as dynamic random-access memory (DRAM) that stores each bit of data in a separate capacitor within the memory, and static random-access memory (SRAM), which uses latching circuitry to store each bit of data. Both types of memory are volatile, meaning that content of the memory will be lost when the chips are not powered. SRAMs have the advantageous feature of holding data without requiring a refresh and are commonly used in integrated circuits. Embedded SRAM is particularly popular in high speed communication, image processing and system on chip (SOC) applications. Another type of memory used in the computing or communication devices is flash memory, which is an electronic non-volatile computer storage device that can be electrically erased and reprogrammed and can retain stored information even when the chips are not powered.
The structure of a memory typically includes a plurality of bit cells disposed in rows and columns to form an array. Each bit cell includes a plurality of transistors coupled to bit lines and word lines that are used to read one or more bits of data from and write one or more bits of data to the bit cell.